https://t.me/RX1948
Server : LiteSpeed
System : Linux host 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
User : idnco5810 ( 1093)
PHP Version : 8.2.29
Disable Function : NONE
Directory :  /usr/local/CyberCP/plogical/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/CyberCP/plogical/__pycache__/acl.cpython-310.pyc
o

�k�f���@sddlZddlZddlZddlZddlmZddlmZddlm	Z	ej
�d�ddlZej
�dd�e��dd	lmZmZdd
lmZddlmZddlmZmZmZmZddlZdd
lmZmZddl m!Z!ddl"m"Z#ddl$m%Z%ddl&m'Z'Gdd�d�Z(dS)�N)�ApacheVhost)�
PDNSStatus�)�ProcessUtilities�/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�
Administrator�ACL��HttpResponse)�Package)�Websites�ChildDomains�aliasDomains�DockerSites)�call�CalledProcessError)�split)�CyberCPLogFileWriter)�
Containers)�compilec@s�eZdZdZdZdZedd��Zedd��Zedd	��Z	ed
d��Z
edd
��Zedd��Zedd��Z
ed|dd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd ��Zed}d!d"��Zed#d$��Zed%d&��Zed'd(��Zed)d*��Zed+d,��Zed-d.��Zed/d0��Zed1d2��Zed|d3d4��Zed5d6��Zed7d8��Z ed~d:d;��Z!ed<d=��Z"ed>d?��Z#ed@dA��Z$edBdC��Z%edDdE��Z&edFdG��Z'edHdI��Z(edJdK��Z)edLdM��Z*edNdO��Z+edPdQ��Z,edRdS��Z-edTdU��Z.edVdW��Z/edXdY��Z0edZd[��Z1ed|d\d]��Z2ed^d_��Z3ed`da��Z4edbdc��Z5eddde��Z6edfdg��Z7edhdi��Z8edjdk��Z9edldm��Z:edndo��Z;edpdq��Z<edrds��Z=edtdu��Z>edvdw��Z?edxdy��Z@edzd{��ZAdS)�
ACLManagera0{"adminStatus":1, "versionManagement": 1, "createNewUser": 1, "listUsers": 1, "deleteUser":1 , "resellerCenter": 1, "changeUserACL": 1, "createWebsite": 1, "modifyWebsite": 1, "suspendWebsite": 1, "deleteWebsite": 1, "createPackage": 1, "listPackages": 1, "deletePackage": 1, "modifyPackage": 1, "createDatabase": 1, "deleteDatabase": 1, "listDatabases": 1, "createNameServer": 1, "createDNSZone": 1, "deleteZone": 1, "addDeleteRecords": 1, "createEmail": 1, "listEmails": 1, "deleteEmail": 1, "emailForwarding": 1, "changeEmailPassword": 1, "dkimManager": 1, "createFTPAccount": 1, "deleteFTPAccount": 1, "listFTPAccounts": 1, "createBackup": 1, "restoreBackup": 1, "addDeleteDestinations": 1, "scheduleBackups": 1, "remoteBackups": 1, "googleDriveBackups": 1, "manageSSL": 1, "hostnameSSL": 1, "mailServerSSL": 1 }a1{"adminStatus":0, "versionManagement": 1, "createNewUser": 1, "listUsers": 1, "deleteUser": 1 , "resellerCenter": 1, "changeUserACL": 0, "createWebsite": 1, "modifyWebsite": 1, "suspendWebsite": 1, "deleteWebsite": 1, "createPackage": 1, "listPackages": 1, "deletePackage": 1, "modifyPackage": 1, "createDatabase": 1, "deleteDatabase": 1, "listDatabases": 1, "createNameServer": 1, "createDNSZone": 1, "deleteZone": 1, "addDeleteRecords": 1, "createEmail": 1, "listEmails": 1, "deleteEmail": 1, "emailForwarding": 1, "changeEmailPassword": 1, "dkimManager": 1, "createFTPAccount": 1, "deleteFTPAccount": 1, "listFTPAccounts": 1, "createBackup": 1, "restoreBackup": 1, "addDeleteDestinations": 0, "scheduleBackups": 0, "remoteBackups": 0, "googleDriveBackups": 1, "manageSSL": 1, "hostnameSSL": 0, "mailServerSSL": 0 }a1{"adminStatus":0, "versionManagement": 1, "createNewUser": 0, "listUsers": 0, "deleteUser": 0 , "resellerCenter": 0, "changeUserACL": 0, "createWebsite": 0, "modifyWebsite": 0, "suspendWebsite": 0, "deleteWebsite": 0, "createPackage": 0, "listPackages": 0, "deletePackage": 0, "modifyPackage": 0, "createDatabase": 1, "deleteDatabase": 1, "listDatabases": 1, "createNameServer": 0, "createDNSZone": 1, "deleteZone": 1, "addDeleteRecords": 1, "createEmail": 1, "listEmails": 1, "deleteEmail": 1, "emailForwarding": 1, "changeEmailPassword": 1, "dkimManager": 1, "createFTPAccount": 1, "deleteFTPAccount": 1, "listFTPAccounts": 1, "createBackup": 1, "restoreBackup": 0, "addDeleteDestinations": 0, "scheduleBackups": 0, "remoteBackups": 0, "googleDriveBackups": 1, "manageSSL": 1, "hostnameSSL": 0, "mailServerSSL": 0 }cCs |ddkrdS||krdSdS�N�adminrr���
currentACL�owner�userrr�"/usr/local/CyberCP/plogical/acl.py�VerifySMTPHost7s
zACLManager.VerifySMTPHostcCs$|ddkrdS|jj|krdSdSr)�domainOwner�name)r�record�domainrrr�VerifyRecordOwner@s
zACLManager.VerifyRecordOwnercCs>tjj|d�}tjj|d�}|ddkrdS|j|krdSdS)N)�aliasDomain�r$rrr)r�objects�getr
�master)rr&r*�aliasOBJ�	masterOBJrrr�AliasDomainCheckJs
zACLManager.AliasDomainCheckcCs"|ddkrdS|j|krdSdSr)r)�packagerrrrr�CheckPackageOwnershipU�

z ACLManager.CheckPackageOwnershipcCsddl}|�||�rdSdS)Nrr)�re�match)�
RegexCheck�valuer1rrr�
CheckRegEx^szACLManager.CheckRegExcCs^z(d}t|�}|��}|�dd�d}t�tdd����}|d|kr&WdSWdSYdS)N�/etc/cyberpanel/machineIP�
rrz/home/cyberpanel/cluster�r�failoverServerIP)�open�readr�json�loads)�ipFile�f�ipData�	ipAddress�configrrr�FindIfChildhszACLManager.FindIfChildcCs<zd}t|�}|��}|�dd�dWStyYdSw)Nr6r7rr�
192.168.100.1)r:r;r�
BaseException�r>r?r@rrr�fetchIPys�zACLManager.fetchIPNcCs(|dkr	td�}n|}|�|�rdSdS)Nz[\sa-zA-Z0-9_-]+rr)r�	fullmatch)r4�regex�verifierrrr�
validateInput�s

zACLManager.validateInputc
Cs4z}|�d�dksx|�d�dksx|�d�dksx|�d�dksx|�d�dksx|�d�dksx|�d�dksx|�d	�dksx|�d
�dksx|�d�dksx|�d�dksx|�d
�dksx|�d�dksx|�d�dksx|�d�dksx|�d�dksx|�d�dkr{WdSWdSty�}zt�dt|��WYd}~dSd}~ww)N�;���z&&�|z...�`�$�(�)�'�[�]�{�}�:�<�>�&rrz%s. [32:commandInjectionCheck])�findrE�logging�writeToFile�str)r4�msgrrr�commandInjectionCheck�s 88.��8 ��z ACLManager.commandInjectionCheckc	
Cs�tjj|d�}i}|j|d<|j|d<zd}t|�}|��}|�dd�d}Wnty;}zd}WYd}~nd}~ww||d	<|j|d
<t	�
|jj�}|drVd|d<|Sd|d<|d
|d
<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d|d<|d |d <|d!|d!<|d"|d"<|d#|d#<|d$|d$<|d%|d%<|d&|d&<|d'|d'<|d(|d(<|d)|d)<|d*|d*<|d+|d+<|d,|d,<|d-|d-<|d.|d.<|d/|d/<|d0|d0<|d1|d1<|d2|d2<|d3|d3<|S)4N��pk�	firstName�lastNamer6r7rrrD�serverIPAddress�	adminName�adminStatusr�versionManagement�
createNewUser�	listUsers�
deleteUser�
changeUserACL�resellerCenter�
createWebsite�
modifyWebsite�suspendWebsite�
deleteWebsite�
createPackage�listPackages�
deletePackage�
modifyPackage�createDatabase�deleteDatabase�
listDatabases�createNameServer�
createDNSZone�
deleteZone�addDeleteRecords�createEmail�
listEmails�deleteEmail�emailForwarding�changeEmailPassword�dkimManager�createFTPAccount�deleteFTPAccount�listFTPAccounts�createBackup�googleDriveBackups�
restoreBackup�addDeleteDestinations�scheduleBackups�
remoteBackups�	manageSSL�hostnameSSL�
mailServerSSL)
rr(r)rdrer:r;rrEr<r=�aclrB)	�valr�
finalResponser>r?r@rfr`rBrrr�	loadedACL�sx

��
G�zACLManager.loadedACLcCs0|ddkrdS||krdS|j|jkrdSdSr)rcrrrrr�checkUserOwnerShip�szACLManager.checkUserOwnerShipcCs8z|ddkr
WdS||dkrWdSWdSYdSrr)r�contextrrr�currentContextPermissionsz#ACLManager.currentContextPermissioncCspz1tddtjd�}|��tdddddddddddddtjd�}|��tdtjd�}|��WdSYdS)Nrr)r"rhrB�reseller)r"rjrlrornrprqrrrsrurvrzr�rBr)r"rB)r	r�AdminACL�save�ResellerACL�UserACL)�newACLrrr�createDefaultACLss.�zACLManager.createDefaultACLscCsztd�WSYdS)N�/You are not authorized to access this resource.r
rrrr�	loadError5s
zACLManager.loadErrorcCsLz|dkrdddd�}n
dddddd||i}t�|�}t|�WSYdS)Nrr�)�status�errorMessage�
error_messager�r�r�)r<�dumpsr)�additionalParameter�additionalParameterValue�	finalJson�	json_datarrr�
loadErrorJson<s��

zACLManager.loadErrorJsoncCs4g}tj��}|D]}|jdkrq	|�|j�q	|S)Nr)rr(�all�userName�append)�	userNames�allUsers�itemsrrr�findAllUsersNs

zACLManager.findAllUserscCsHg}tj��}|D]}|jdks|jdks|jdkrq	|�|j�q	|S)Nrr�r)r	r(r�r"r���aclNames�allACLsr�rrr�findAllACLsXs
zACLManager.findAllACLscCs(g}tj��}|D]}|�|j�q	|S�N)r	r(r�r�r"r�rrr�unFileteredACLsds

zACLManager.unFileteredACLscCs�tjj|d�}g}t�|�}|ddkr,tj��}|D]}|j|jkr$q|�|j�qntjj|j	d�}|D]}|�|j�q6|�|j�|S�Nrbrr�r)
rr(r)rr�r�r�r��filterrc��userIDr�
adminNamesr��adminsr�rrr�loadAllUsersns

�zACLManager.loadAllUserscCsdtjj|d�}g}t�|�}|ddkrtj��Stjj|jd�}|D]}|�|�|�|�q#|Sr�)	rr(r)rr�r�r�rcr��r�r�adminObjectsr�r�r�rrr�loadUserObjects�s


zACLManager.loadUserObjectscCsntjj|d�}g}t�|�}|ddkr tj��j|d��d�Stjj|j	d��d�}|D]}|�
|�q-|S)Nrbrrr�r�)rr(r)rr�r��exclude�order_byr�rcr�r�rrr�fetchTableUserObjects�s
z ACLManager.fetchTableUserObjectscCsztjj|d�}g}|ddkr(tj��}|D]}|j|jkrq|�|j�q|Stjj|jd�}|D]}|�|j�q2|Sr�)rr(r)r�r�r�r�rc)r�r�rr�r�r�rrr�loadDeletionUsers�s
�zACLManager.loadDeletionUserscCs�tjj|d�}g}t�|�}|ddkr2tj��}|D]}|jjdkr0|j|jkr*q|�	|j�qntjj
|jd�}|D]}|jjdkrJ|�	|j�q<|�	|j�|Sr�)rr(r)rr�r�r�rnr�r�r�rcr�rrr�userWithResellerPriv�s&

���zACLManager.userWithResellerPrivcCs�|jjdkr>|jdkr<d}tjj|jd�}|D]}||j}q|dkr(||j}|||j���	�}||jkr:dSdSdSdS)Nrrr�)
r�rh�initWebsitesLimitrr(r�rc�websites_setr��count)�currentAdmin�
websitesLimit�userToBeModified�	webLimitsr�r�rrr�websitesLimitCheck�s


zACLManager.websitesLimitCheckcCsftjj|d�}g}|ddkr!tj��}|D]}|�|j�q|S|j��}|D]}|�|j�q(|S�Nrbrr)rr(r)rr�r��packageName�package_set)r�r�r�	packNames�packsr�rrr�loadPackages�s

�zACLManager.loadPackagescCs.tjj|d�}|ddkrtj��S|j��Sr�)rr(r)rr�r�)r�r�rrrr�loadPackageObjects�s

zACLManager.loadPackageObjectsrcCs$g}|ddkr0tj���d�}|D]}|�|j�|r-|j���d�D]}|�|j�q$q|Stjj|d�}|j	���d�}tjj
|jd�}	|D]}|�|j�|rd|j���d�D]}|�|j�q[qI|	D](}|j	���d�}
|
D]}|�|j�|r�|j���d�D]}|�|j�q�qsqg|S�Nrrr$rbr��r
r(r�r�r�r$�childdomains_setrr)r�r�rc)rr��fetchChilds�websiteNames�allWebsitesr��childr�websitesr��webs�webrrr�findAllSites�s:�����zACLManager.findAllSitescCs�|dkrd}|S|dkrd}|S|dkrd}|S|dkr d}|S|d	kr(d
}|S|dkr0d}|S|d
kr8d}|S|dkr@d}|S|dkrHd}|S|dkrPd}|S|dkrXd}|S|dkr`d}|S|dkrhd}|S|dkrnd}|S)NzPHP 5.3�53zPHP 5.4�54zPHP 5.5�55zPHP 5.6�56zPHP 7.0�70zPHP 7.1�71zPHP 7.2�72zPHP 7.3�73zPHP 7.4�74zPHP 8.0�80zPHP 8.1�81zPHP 8.2�82zPHP 8.3�83zPHP 8.4�84r)�
phpVersion�phprrr�getPHPString%sT���������
����zACLManager.getPHPStringc
Cs�|ddkr
tjj|d�Sg}tjj|d�}|jj|d�}|D]}|�|�qtjj|jd�}|D]}|jj|d�}|D]}	|�|	�q<q1|S)Nrr)�domain__istartswithrbr�)r
r(r�rr)r�r�rc)
rr��
searchTerm�websiteListrr�r�r�r�r�rrr�searchWebsiteObjectsGs�zACLManager.searchWebsiteObjectsc	Cs�|ddkrtj���d�Sg}tjj|d�}|j���d�}|D]}|�|�q!tjj|j	d�}|D]}|j���d�}|D]}|�|�q?q3|Sr�)
r
r(r�r�rr)r�r�r�rc)	rr�r�rr�r�r�r�r�rrr�findWebsiteObjects^s�zACLManager.findWebsiteObjectsc	C�|ddkrtj��Sg}tjj|d�}|j��}|D]}|�|�qtjj|jd�}|D]}|j��}|D]}|�|�q6q-|S�Nrrrbr�)	rr(r�rr)�DockerSites_setr�r�rc)	rr��DockersiteListrr�r�r�r�r�rrr�findDockersiteObjectsus


�z ACLManager.findDockersiteObjectsc
Csg}|ddkr+tj���d�}|D]}|�|j�|j��D]}|�|j�qq|Stjj|d�}|j	���d�}|D]}|�|j�|j��D]}|�|j�qIq<tjj
|jd�}|D]#}|j	���d�}|D]}	|�|	j�|	j��D]}|�|j�qvqiq]|Sr�r�)
rr��domainsList�domainsr��childsrr��doms�domrrr�findAllDomains�s4�����zACLManager.findAllDomainsc	Cs�g}|ddkrtj���d�}|D]}|�|j�q|Stjj|d�}|j���d�}|D]}|�|j�q.tjj	|j
d�}|D]}|j���d�}|D]}|�|j�qMqA|Sr�)r
r(r�r�r�r$rr)r�r�rc)	rr�r�r�r�rr�r�r�rrr�findAllWebsites�s"��zACLManager.findAllWebsitescCs�z'tjj|d�}|ddkrWdS|jj|krWdS|jjj|jkr%WdSWdStjj|d�}|ddkr;YdS|j|krCYdS|jj|jkrMYdSYdS�Nr'rrr)rr(r)r*rrrcr
)r$rr�childDomain�
domainNamerrr�checkOwnership�s$�
zACLManager.checkOwnershipcCsJz|ddkr
WdS|j|krWdS|jj|jkrWdSWdSYdSr�rrc)�gDrrrrr�checkGDriveOwnership�s
zACLManager.checkGDriveOwnershipcCsdz	tjj|d�}Wntjj|d�}|j}Y|ddkr dS|j|kr'dS|jj|jkr0dSdSr)r
r(r)rr*rrrc)r$rrrrr�checkOwnershipZone�s
zACLManager.checkOwnershipZonec
Csdztt|��}|dkrWdSWdSty1}zt�t|�d�dt|�fWYd}~Sd}~ww)Nr)rzSomething bad happened)r�Nonez [ACLManager.executeCall]r)rrrr]r^r_)�command�resultr`rrr�executeCall�s��zACLManager.executeCallcCs\z'tjj|d�}t�|�}tjj|d�}|ddkrWdS|j|kr%WdSWdSYdS)N)r"rbrrr)rr(r)rr�rr)r"r��	containerrrrrr�checkContainerOwnership	s

z"ACLManager.checkContainerOwnershipc
Cs�g}|ddkrtj��}|D]}|�|j�q|Stjj|d�}|j��}tjj|j	d�}|D]}|�|j�q0|D]}|j��}|D]}	|�|	j�qDq;|Sr�)
rr(r�r�r"rr)�containers_setr�rc)
rr��
containerName�
allContainersr�r�
containersr��cons�conrrr�findAllContainerss"
�

�zACLManager.findAllContainersc	Cr�r�)	rr(r�rr)rr�r�rc)	rr��
containerListrrr�r�rrrrr�findContainersObjects2s


�z ACLManager.findContainersObjectscCsBg}|D]}tjj|d�}|j���d�D]}|�|j�qq|S)Nr'r$)r
r(r)r�r�r�r�r$)r��childDomainsr��websiterrrr�findChildDomainsJs�zACLManager.findChildDomainscCs0|ddkrdS|j|jkrdS||krdSdSrr)rrr�rrr�checkOwnerProtectionUszACLManager.checkOwnerProtectioncCs�ddl}g|���d�d�d�d�d�d�d�d	�d
�d�d�d
�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �}|�d!�}|D]}|d"kr]||kr\dSqO|�|�rjt�|�dSqOd"S)#Nrzhotmail.comz	gmail.comz
yandex.comz	yahoo.com�	localhostzaol.comz	apple.comzcloudlinux.comz	email.comzfacebook.comzgmx.dezgmx.comz
google.comzhushmail.comz
icloud.comz	inbox.comzimunify360.comzjuno.comzlive.comzlocalhost.localdomainzlocalhost4.localdomain4zlocalhost6.localdomain6zmail.comzmail.ruzme.comz
microsoft.comzmxlogic.netzoutlook.comzprotonmail.comztwitter.comz	yandex.ru�.r)�socket�gethostnamer��endswithr]r^)r$r�	BlackList�DotsCounter�blackrrr�CheckDomainBlackList`sz&������������������������
�

�zACLManager.CheckDomainBlackListcCs�|�d�dkr|�d�d}n|�d�d}z
t|�}t|�Wn|dkr9|�d�d}||�d�kr9YdSYdS|dd�d	ks\|dd
�dks\|dd�d
ks\|dd�dkry|dkry|�d�dkry|dkry|dkry|dkry|dkrydSdS)Nzpanel/rMrztmp/zcyberpanel/�_rustic_backup_logr�z/home/cyberpanel/.��/home/cyberpanel�z/tmprz&/usr/local/CyberCP/CyberCP/settings.pyz..z/home/cyberpanel/.my.cnfz/home/cyberpanel/.bashrcz/home/cyberpanel/.bash_logoutz/home/cyberpanel/.profile)r\r�int�print)�
statusFiler$�TemFilePathr4rrr�CheckStatusFilleLocws22���� zACLManager.CheckStatusFilleLoccCs8ztjj|d�}|jjWStjj|d�}|jYS)Nr')rr(r)r*�externalAppr
)r$rrrrr�FetchExternalApp�s

zACLManager.FetchExternalAppcCsJd}tj�|�sd|}t�|�d|}t�|�d|}t�|�dS)Nz/usr/local/CyberCP/tmp/zmkdir %szchown cyberpanel:cyberpanel %szchmod 711 %s)�os�path�existsr�executioner)�
UploadPathrrrr�CreateSecureDir�s

zACLManager.CreateSecureDircCs�tj�d�rd|d<nd|d<tj�d�rd|d<nd|d<ztjjdd�}|j|d<WdSt��tj	ks?t��tj
krBd	}nd
}tj�|�rXtdd���d|d<YdSd|d<YdS)Nz/home/cyberpanel/postfixr�emailAsWholerz/home/cyberpanel/pureftpd�
ftpAsWholerb�
dnsAsWholez
/etc/powerdnsz	/etc/pdns)�serverStatus)r2r3r4rr(r)r;r�decideDistro�ubuntu�ubuntu20r�)�dic�pdns�pdnsPathrrr�GetServiceStatus�s"

zACLManager.GetServiceStatuscCs>ddlm}|j��}t�||�}|D]	}||j��O}q|S)Nr)�WPSites)�websiteFunctions.modelsrCr(�nonerr��wpsites_setr�)rr�rC�wpsitesr�rrrr�GetALLWPObjects�s
zACLManager.GetALLWPObjectscCs$d}t|�}|��}|�dd�dS)Nr6r7rr)r:r;rrFrrr�GetServerIP�szACLManager.GetServerIPcCs^z(t��tjkrWdSd}|t��d�}ddl}|j|t�|�d�}|��dWSYdS)Nrz@https://platform.cyberpersons.com/CyberpanelAdOns/Adonpermission)r"�IPr)�datar�)	r�decideServer�entrrI�requests�postr<r�)�feature�urlrKrN�responserrr�CheckForPremFeature�s�zACLManager.CheckForPremFeaturecC�"|ddkrdS|j|krdSdSrr��r�	backupobjrrrr�CheckIPBackupObjectOwner�r0z#ACLManager.CheckIPBackupObjectOwnercCrTrr�rUrrr�CheckIPPluginObjectOwner�r0z#ACLManager.CheckIPPluginObjectOwnerc
Cs�z,d}t�|��d�}d}t�|��d�}t|�dkr't|�dkr'd||fWSdd|fWStyE}z
dt|�dfWYd}~Sd}~ww)NzHgrep SAVED_CF_Key= /root/.acme.sh/account.conf | cut -d= -f2 | tr -d "'"r7zJgrep SAVED_CF_Email= /root/.acme.sh/account.conf | cut -d= -f2 | tr -d "'"�rrzKey not defined)r�outputExecutioner�rstrip�lenrEr_)r�SAVED_CF_Key�SAVED_CF_Emailr`rrr�FetchCloudFlareAPIKeyFromAcmes��z(ACLManager.FetchCloudFlareAPIKeyFromAcmecCstz3|dkrd|�d�}t��tjkr#d|}t�|dd��d�}|WSd|}t�|dd��d�}|WSYdS)N�/usr/local/lsws/conf/vhosts/�/vhost.confzawk '/docRoot/ {print $2}' �rootTr7�&awk '/DocumentRoot/ {print $2; exit}' )rrL�OLSrZr[)�	vhostConfrr�docRootrrr�FindDocRootOfSiteszACLManager.FindDocRootOfSitecCsxz5|dkrd|�d�}t��tjkr$d|�d�|}t�|dd�WdSd|�d�|}t�|dd�WdSYdS)Nr`raz3sed -i 's#docRoot\s\s*.*#docRoot                   �#g' rbT�6sed -i 's#DocumentRoot\s\s*[^[:space:]]*#DocumentRoot )rrLrdr5)rer�
NewDocRootrrrr�ReplaceDocRoot%szACLManager.ReplaceDocRootcCsdz+tj|d}t��tjkr)tj�|�r&d|}t�|dd��	d�}|WSWdSWdSYdS)N�.confrcrbTr7)
r�configBasePathrrLrdr2r3r4rZr[)rer�
finalConfPathrrfrrr�FindDocRootOfSiteApache6sz"ACLManager.FindDocRootOfSiteApachecCsTz#tj|d}t��tjkr!d|�d�|}t�|dd�WdSWdSYdS)NrlrirhrbT)rrmrrLrdr5)rerrjrnrrrr�ReplaceDocRootApacheIs�zACLManager.ReplaceDocRootApachecCs$d}t�|�}|�d�dkrdSdS)Nzuname -a�aarch64rMTF)rrZr\)rrrrr�ISARMUs

zACLManager.ISARMc
Cs��z`z#dIdd�}d|�}tdd�}|�|�|��d}t�|dd	�WnYd
}t�|dd	�d}t�|dd	�d}t�|dd	�d
}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�d}t�|dd	�gd�}|D]
}d|}t�|dd	�q�gd�}|D]
}d |}t�|dd	�q�d!}t�|dd	�d"}t�|dd	�d#}t�|dd	�gd$�}d%dl}|D]}z|�|�W�q"Y�q"d&}t�|dd	�d'}t�|dd	�d(}t�|dd	�d)}t�|dd	�d*}t�|dd	�d}t�|dd	�gd+�}	|	D]}d,|}t�|dd	��qod-}t�|dd	�d.}t�|dd	�d/}t�|dd	�t��tjk�s�t��tj	k�r�d0}t�|dd	�d1}t�|dd	�nd2}t�|dd	�d3}t�|dd	�d4}t�|dd	�d5}t�|dd	�d6}t�|dd	�td7d8�}
|
�d9�|
��d:}t�|dd	�d;}d<}t
j�|��rt
j�|��sd=}
nd>}
d?|
}t�|dd	�d@}t�|dd	�tdAd8�}|�
dB�|�
dC�|��dD}t�|dd	�dEdF}t�|dd	�dG}d |}t�|dd	�WdSt�y~}zt�t|�dH�WYd}~dSd}~ww)JN�cs2tjtjtj�|}d��fdd�t|�D��S)N�c3s�|]}t���VqdSr�)�random�choice)�.0�x��charsrr�	<genexpr>is�zCACLManager.fixPermissions.<locals>.generate_pass.<locals>.<genexpr>)�string�ascii_uppercase�ascii_lowercase�digits�join�range)�length�sizerryr�
generate_passfsz0ACLManager.fixPermissions.<locals>.generate_passz�<?php
$_ENV['snappymail_INCLUDE_AS_API'] = true;
include '/usr/local/CyberCP/public/snappymail/index.php';

$oConfig = \snappymail\Api::Config();
$oConfig->SetPassword('%s');
echo $oConfig->Save() ? 'Done' : 'Error';

?>z(/usr/local/CyberCP/public/snappymail.php�wz?chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/snappymail/datarbTz#usermod -G lscpd,lsadm,nobody lscpdz$usermod -G lscpd,lsadm,nogroup lscpdz6find /usr/local/CyberCP -type d -exec chmod 0755 {} \;z6find /usr/local/CyberCP -type f -exec chmod 0644 {} \;z#chmod -R 755 /usr/local/CyberCP/binz%chown -R root:root /usr/local/CyberCPz3find /usr/local/lscp -type d -exec chmod 0755 {} \;z3find /usr/local/lscp -type f -exec chmod 0644 {} \;z chmod -R 755 /usr/local/lscp/binz%chmod -R 755 /usr/local/lscp/fcgi-binz=chown -R lscpd:lscpd /usr/local/CyberCP/public/phpmyadmin/tmpz"chown -R root:root /usr/local/lscpz8chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloopz.chmod 700 /usr/local/CyberCP/cli/cyberPanel.pyz8chmod 700 /usr/local/CyberCP/plogical/upgradeCritical.pyz:chmod 755 /usr/local/CyberCP/postfixSenderPolicy/client.pyz0chmod 640 /usr/local/CyberCP/CyberCP/settings.pyz<chown root:cyberpanel /usr/local/CyberCP/CyberCP/settings.pyz3chmod +x /usr/local/CyberCP/CLManager/CLPackages.py)z/etc/yum.repos.d/MariaDB.repo�/etc/pdns/pdns.confz!/etc/systemd/system/lscpd.service�/etc/pure-ftpd/pure-ftpd.conf�"/etc/pure-ftpd/pureftpd-pgsql.conf�"/etc/pure-ftpd/pureftpd-mysql.conf�!/etc/pure-ftpd/pureftpd-ldap.conf�/etc/dovecot/dovecot.confz%/usr/local/lsws/conf/httpd_config.xmlz /usr/local/lsws/conf/modsec.confz/usr/local/lsws/conf/httpd.confzchmod 644 %s)r�r�r�r�r�r�z/etc/pure-ftpd/db/mysql.confz/etc/powerdns/pdns.confzchmod 600 %szchmod 640 /etc/postfix/*.cfzchmod 640 /etc/dovecot/*.confz+chmod 640 /etc/dovecot/dovecot-sql.conf.ext)z/usr/local/lsws/FileManager/z&/usr/local/CyberCP/install/FileManagerz5/usr/local/CyberCP/serverStatus/litespeed/FileManagerz(/usr/local/lsws/Example/html/FileManagerrzchmod 755 /etc/pure-ftpd/z#chmod 644 /etc/dovecot/dovecot.confzchmod 644 /etc/postfix/main.cfz%chmod 644 /etc/postfix/dynamicmaps.cfz-chmod +x /usr/local/CyberCP/plogical/renew.py)z)/usr/local/CyberCP/CLScript/panel_info.pyz1/usr/local/CyberCP/CLScript/CloudLinuxPackages.pyz./usr/local/CyberCP/CLScript/CloudLinuxUsers.pyz0/usr/local/CyberCP/CLScript/CloudLinuxDomains.pyz2/usr/local/CyberCP/CLScript/CloudLinuxResellers.pyz//usr/local/CyberCP/CLScript/CloudLinuxAdmins.pyz+/usr/local/CyberCP/CLScript/CloudLinuxDB.pyz'/usr/local/CyberCP/CLScript/UserInfo.pyzchmod +x %sz2chmod 600 /usr/local/CyberCP/plogical/adminPass.pyz/chmod 600 /etc/cagefs/exclude/cyberpanelexcludez.find /usr/local/CyberCP/ -name '*.pyc' -deletez#chown root:pdns /etc/pdns/pdns.confzchmod 640 /etc/pdns/pdns.confz'chown root:pdns /etc/powerdns/pdns.confz!chmod 640 /etc/powerdns/pdns.confz4chmod 640 /usr/local/lscp/cyberpanel/logs/access.logzH/usr/local/lsws/lsphp72/bin/php /usr/local/CyberCP/public/snappymail.phpz2chmod 600 /usr/local/CyberCP/public/snappymail.phpz
/etc/fstab�az;proc    /proc        proc        defaults,hidepid=2    0 0
z#mount -o remount,rw,hidepid=2 /procz/etc/redhat-releasez/etc/openEuler-release�nobody�nogroupz"chown root:%s /usr/local/lsws/logszchmod 750 /usr/local/lsws/logsz!/usr/lib/sysctl.d/50-default.confzfs.protected_hardlinks = 1
zfs.protected_symlinks = 1
zsysctl --systemzchmod 700 %sr)z/usr/local/lscp/conf/key.pemz [fixPermissions])rs)r:�write�closerr5�shutil�rmtreer<�centos�cent8r2r3r4�
writelinesrEr]r^r_)r��contentr^r�filesr��impFile�fileMr��	clScripts�WriteToFile�
CentOSPath�
openEulerPath�group�destPrivKeyr`rrr�fixPermissionsas
�


 




 ��zACLManager.fixPermissionsr�)NN)r)B�__name__�
__module__�__qualname__r�r�r��staticmethodr r%r-r/r5rCrGrKrar�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr	r
rrrrrr%r/r1r7rBrHrIrSrWrXr_rgrkrorprrr�rrrrrs�			

	



	

	

^



!

	

	






%
!































r))r2�sysrur|�ApachController.ApacheVhostsr�manageServices.modelsr�processUtilitiesrr3r��django�environ�
setdefault�setup�loginSystem.modelsrr	�django.shortcutsr�packages.modelsrrDr
rrrr<�
subprocessrr�shlexrrr]�dockerManager.modelsrr1rrrrrr�<module>s*

https://t.me/RX1948 - 2025